home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mission 3
/
Mission 3.zip
/
Mission 3.iso
/
tools
/
optimize
/
optimize.eng
next >
Wrap
Text File
|
1998-10-30
|
9KB
|
217 lines
OPTIMIZE, Version 2.8
Harddisk-Optimizer © 1993-1998 by H.-P. Vetter
This program is distributed in the hope that it may be useful, but WITHOUT
ANY WARRANTY; even without the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.
OPTIMIZE is a speed-optimised hard drive defragmenter. During the copying
and sorting process the data is therefore assembled in RAM. With some other
defragmenters that want to play safe, all data is copied back to the disk a
second time during this sort phase. However this is NOT the case with
OPTIMIZE!
Therefore I issue this explicit WARNING: During the optimisation phase,
while the Kbs of data yet to be optimised ("to do") count down, you must
not reset your machine or turn it off, or suffer a power failure! If this
should occur then the relevant partition will almost certainly be trashed!
So make sure beforehand that your data has been adequately protected (i.e.
have a backup)!
In addition the disk (partition) must not have any defective sectors,
unless they are marked as faulty in the FAT. The program in that case
actually tries to recover what it can, but there is no guarantee of
success. Therefore, run the physical check at least once before optimising.
Though this is at present more thorough, it is also fairly slow.
OPTIMIZE places data at the end of a partition, so that TOS has faster
access when searching for free clusters. This could result in a message
from another optimiser that the partition optimised by OPTIMIZE was not, in
fact, optimised. This form of organisation has the additional advantage
that, with regular use, files that don't change are pushed to the end, and
the optimiser then has no need to touch them again.
The operation:
In general the program is self-explanatory, since it is running under GEM.
(1) Physical Check = Check reading of all sectors (clusters)
(2) Logical Check = Checking the consistency of the FAT
(3) Optimisation = Defragmentation
Choose the partition (or partitions) you wish to work on. Select one or
more of the 3 operations to be carried out. Then select the button
surrounded by the thick border (Yes, it's OK) to start the process off.
When the work has been completed you're returned to the program display,
where you can select another operation or quit the program. Every time you
quit the program the system will automatically trigger a Reset to prevent
disk access using the old (pre-optimisation) FAT on the restructured disk.
The following shortcuts are available in the input dialog:
<letter> Select drive on/off
ALT-<letter> Select function (left box)
CTRL-<letter> (Right box)
Since the partition (logical drive) being worked on will be locked by using
"devlock", this allows the program to work under a multitasking system as
well. Nevertheless all work should cease on the partition to be optimised.
Particular regard must be paid to desk ACCs or programs working in the
background.
Though a Reset after optimisation is recommended, it is no longer forced
by the program.
OPTIMIZE can also be run from a shell that allows programs to be started.
In that case the dialogue settings can be made from the commandline. This
will also work if OPTIMIZE is installed as a GTP.
For this the parameters are
-p for physical check
-l for logical check
-o for optimisation
-q for quiet (fewer reports)
-r for repair (restore lost clusters)
-x for execute (do what I have told you)
-2 a digit that specifies the number of retries for physical check
As an example: To optimise drives C:, D: and E:, you can use the following
command:
optimize -lox cde
or
optimize ce -lo d -x
The order is immaterial.
A parameter with a '-' means an option to be executed,
a parameter without '-' defines the drives/partitions.
Additionally, when using a commandline, you can define cluster numbers (by
preceding them with a '#'). The names of the files that occupy the given
clusters will be recorded. (e.g.: "... #123 #4567")
It is worth mentioning that a logical check before optimising is definitely
sensible, because a defective partition cannot be optimised!
Lost clusters, that is those marked as used but not referenced by any
directory entry, can be "recovered" with the option -r.
The program should work happily with all hard-disk drivers, because disk
access merely uses the Xbios function "Rwabs". The customary sector
sizes (GEM/BGM) are supported, but the number of sectors of a partition
should not lie near the upper limit (32110..32767, 65400..65535,
130800..131071, ...), as this produces (hitherto inexplicable) errors.
My own partitions generally have sizes of 32100, 65400, 130800 and 261600
sectors (The first two numbers look good and the others are just
multiples).
OPTIMZE has till now run without problems on a 520, 1040, MegaST, TT, F030,
on the ACSI and SCSI buses, with disks ranging from the Megafile30 up to a
1Gb disk.
VFAT File system (MagiC 5.0)
---------------------------
OPTIMIZE can also be used with VFAT partitions. Here it is immaterial
whether the VFAT is currently turned on or off for the partition.
Normally VFAT directory entries (VDIR) are simply ignored, meaning that
VDIR entries, if present, will still be available after the optimisation.
(Exception: An invalid VDIR entry, to which no DIR entry is assigned, will
be deleted if it is the last entry in a directory.)
Using the option "correct l." during _Optimisation_ results in invalid VDIR
entries being removed. These arise if, with "long names" turned off, files
are deleted, moved or are renamed, as then only the DIR entry, but not the
VDIR entries, will be altered.
Using the option "kill longs" during _Optimisation_ results in all VDIR
entries being removed. One then reverts back to a normal FAT filesystem.
physical check
--------------
The physical check reads all sectors/clusters of a partition.
For higher speed this is done blockwise (depending on the size of the avail-
able memory). If an error is found, single sectors are read, to locate the
exact errorposition.
If the error-sector is not used by a file, it is marked as defect. Otherwise
it is impossible to mark this sector.
To get rid of those GEM-alerts that normally apear after a read-error, the
etv_critic-vector is redirected to a private routine. That means, that the
program should not be "hard-terminated" (only possible in MT-environments)
when the phys. check is running. It`s better to do a reset then.
To abort a running pyhs. check, you can press the left mousebutton over the
abort-button until there is a reaction by the program, this can last some
seconds until the program reacts.
The marks in the FAT will be written to disk just after the diskscan is
completed. When the diskscan is aborted, the FAT will be untouched.
That can be changed with the following option:
-m set mark without asking
-mm mark used clusters too
-mmm rewrite FAT after each change
-mmmm rewrite and don't ask
-mmmmm rewrite and mark used clusters
New in version 2.3:
- Increasing the output fields from 5 to 6 places.
- Speed-up through reducing message output during the count.
New since version 2.4:
- Drive locking ("devlock" by Hans-Juergen Richstein, (c) 1994 Kaktus GbR)
is used to allow operation under a multitasking system now.
The Reset after optimisation remains nevertheless.
- Generalised handling of "BAD-CLUSTER".
Actually a defective cluster should be marked with the value 0xFFF7.
But since some programs use what are in fact illegal values for marking
them (e.g. 0xFFF1), OPTIMIZE now recognises all values from 0xFFF0 to
0xFFFE as a defect marking and will keep them unchanged.
New since version 2.5:
- Protocol (Log) window extended from 400 to 4000 lines.
- Menu option to save the Log.
- New option: "#CLUSTER", returns the filename using this cluster.
- Maximum of 30 drives.
- Optimisation and correction for VFAT filesystems (MagiC 5.0).
New since version 2.6:
- Output of the complete path instead of filename only.
- Partitions with sector sizes of up to 32KB now possible.
- The "reserved" fields in the DIR entry are retained, and the first
byte after the attribute [12] can also be !=0.
New since version 2.7:
- The physical check is correct again, no GEM-Alerts in case of read-errors.
New since version 2.8: (November 1998)
- Adaption for BigDOS (more than 2 sectors/cluster and
more than 65536 sectors/partition)
- The mouse is ok after a phys. check
- Shortcut ^S for saving the logs
- Corrected an error than appeared if the length of the root-
directory was not a multiple of the clustersize
Comments, suggestions, criticisms to:
H.-P. Vetter
oder
Peter Schneider @ SU2 (<Peter_Schneider@SU2.maus.de>)
Happy Optimizing
hpv